Интерактивное редактирование в табличном поле, отображающем данные в виде дерева

У табличного поля, отображающего данные в виде дерева, имеется ряд особенностей, связанных с редактированием данных. Так, при  добавлении в табличное поле строки, новая строка становится подчиненной текущей строке табличного поля, т.е. уровень новой строки увеличивается. Для того, чтобы добавить несколько строк одного уровня иерархии, т.е подчиненных определенной строке табличного поля, необходимо перед добавлением каждой новой строки активизировать родительскую строку,  для которой новая строка будет подчиненной. Естественно, если табличное поле не имеет данных, то новая строка будет иметь иерархию верхнего уровня. При копировании строки (например, при нажатии клавиши F9 или при использовании команды "Скопировать"), новая строка создается на том же уровне иерархии что и текущая. Из сказанного выше следует, что у табличного поля, отображающего данные в виде дерева, не существует стандартных средств, позволяющих добавлять несколько новых строк верхнего уровня иерархии.

Необходимо также отметить, что у иерархических динамических списков (например, списков справочников или списков планов видов характеристик), отображаемых в виде дерева, имеется специальный корневой элемент, так называемый "виртуальный корень" дерева, который является родителем для строк первого уровня иерархии.

В некоторых случаях может потребоваться добавлять в табличное поле, отображающее данные в виде дерева, несколько строк верхнего уровня иерархии.

Для табличного поля, отображающего иерархический динамический список, достаточно активизировать корневой элемент и добавлять строки, подчиненные этому элементу. Для быстрого перехода к родительской строке можно использовать комбинацию клавиш Ctrl+Вверх, а если табличное поле имеет всего одну колонку, то клавишу "Влево".

Для табличного поля, отображающего дерево значений, этот способ не годится, т.к. дерево значений не содержит специального корневого элемента. В этом случае можно воспользоваться следующим решением: создать специальный корневой элемент, так называемый "виртуальный корень" дерева. Тогда для того, чтобы добавить строку верхнего уровня, необходимо будет активизировать этот корневой элемент и добавить новую строку. При этом необходимо запретить копирование "виртуального корня", для того чтобы "виртуальный корень" был уникальным.